計算數值的平均就會提到整數和浮點數的差別
#include <stdio.h>
int main(){
int num1,num2,num3;
printf("Please enter the first integer: ");
scanf("%d", &num1);
printf("Please enter the second integer: ");
scanf("%d", &num2);
printf("please enter the third integer: ");
scanf("%d", &num3);
int average=(num1+num2+num3)/3;
printf("Average %d\n", average);
return 0;
}
上面的程式碼好像看似可以,但其中還有一些小錯誤,例如我輸入第一個數字3,第二個數字3,第三個數字4,平均應該是3.333333...,但是結果只有顯示3,因為我們是用整數的型別去輸出,下面的程式碼就是修改過的
#include <stdio.h>
int main(){
int num1,num2,num3;
printf("Please enter the first integer: ");
scanf("%d", &num1);
printf("Please enter the second integer: ");
scanf("%d", &num2);
printf("please enter the third integer: ");
scanf("%d", &num3);
double average=(num1+num2+num3)/3.;
printf("Average %f\n", average);
return 0;
}
首先我們看到%d他這邊就是整數的意思,所以我們要改成%f,那我們後面的average就不對了,所以我們上行的int average要改成double average也就是改成浮點數的型別,最後一點/3加/3.就能顯示出後面的小數點了
今天這題目最主要的是int和double型別的差異,當然double還有和float的差別,以float來說可以儲存4byte = 32bit是說最多可以存32個0or1,但不精準,double可以儲存8byte=64bit,所以說更精準更好
用while,while的語法只有一種,卻能變化出無窮無盡的用法,其中最常見的用途就是產生數列了
#include<iostream>
using namespace std;
int main()
{
int i;
i = 1; //A
while( i<=19 ) //B
{
cout << i << " ";
i = i+2; //C
}
return 0;
}
**這題的解法相當簡單,我們要印出從一到十九的奇數,我們設立一個變數較i他從1開始,while條件達成時,他就會輸出i並且空一格,因為奇數之間的公差是2所以一直不斷的加,所以輸出到他大於19就停止```